#include <bits/stdc++.h>
using namespace std;
int sum[30][30];
int main()
{
	int n, m;
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
	{
		string a;
		cin >> a;
		for (int j = 1; j <= m; j++)
		{
			// 其中sum[i][j]表示以第i行第j列为右下角的子矩阵中全为0的元素个数。计算sum数组的方法是通过累加前一行、前一列和当前元素的值来更新。
			sum[i][j] = sum[i][j - 1] + sum[i - 1][j] + (a[j - 1] - '0') - sum[i - 1][j - 1];
		}
	}
	int ma = 0;
	for (int x1 = 1; x1 <= n; x1++)
		for (int y1 = 1; y1 <= m; y1++)
			for (int x2 = x1; x2 <= n; x2++)
				for (int y2 = y1; y2 <= m; y2++)
				{
					/*x1、y1是矩形区域的左上角坐标，x2、y2是矩形区域的右下角坐标。
					sum[x2][y2]表示矩形区域右下角的元素累加和。
					sum[x1 - 1][y2]表示矩形区域右上角的元素累加和。
					sum[x2][y1 - 1]表示矩形区域左下角的元素累加和。
					sum[x1 - 1][y1 - 1]表示矩形区域左上角的元素累加和。*/
					int cnt = sum[x2][y2] - sum[x1 - 1][y2] - sum[x2][y1 - 1] + sum[x1 - 1][y1 - 1];
					if (cnt == 0) // 果cnt为0，则计算当前子矩阵的周长，并与ma进行比较，取较大值
						ma = max(ma, (x2 + y2 - x1 - y1 + 2) * 2);
				}
	cout << ma;
	return 0;
}
